Dent du Midi

Dent du Midi is an application that takes standard MIDI files and generates separate files for each track which contains the MIDI note data. These files are suitable for dropping into Apple's GarageBand application for use as loops or entire tracks. In simple terms, this application allows you to convert MIDI files into GarageBand files.

The name is a bit of a play on words. Dent du Midi is a 10,686 foot (3257 meter) mountain in the southwest of Switzerland in the west Alps. The name is French and is pronounced something like "don doo midi" which I thought sounded like "don't do MIDI" which is why it seemed to be an appropriate name since GarageBand doesn't import MIDI files.

Note that as of January 2005, the ability to import MIDI files has been added in GarageBand 2.0, so the need for Dent du Midi is only for those continuing to use GarageBand 1.x, for those looking for ways to translate MIDI files originally intended for MIDI devices that do not comply with the General MIDI standard for instruments and drum patches, and for those looking to split MIDI files into separate track files.

History

25-Feb-2005	1.0	* Increased maximum output length of output track data from 1MB to 4MB.

30-Mar-2004	0.9	* Fixed an issue with certain MIDI files where the tracks would not line up properly
				   in GarageBand due to dummy note-on events in the original MIDI file.

02-Mar-2004	0.8	* Allow sustain and modulation parameters to pass through to the output files.
				* Added output of "report.txt" in the output directory.  This file contains information 
				   such as tempo and key changes to help setup the song in GarageBand.
				* Changed the "dummy event" inserted at the beginning of the output files to use
				   an "undefined parameter" (0x58) rather than an "all notes off" (0x7b) event to 
				   prevent issues from version 0.4 from ever happening again.

17-Feb-2004	0.7	* Added Add other program names option to add on instrument names other than 
				   the General MIDI program names.  Included in the release is a new file called 
				   "M1 Program Names" which serves as an example for this feature.
				* Added ability to store preferences for the Translate drum tracks and 
				   Add other program names options.  Two new preferences files can be found in 
				   the users "Library -> Preferences" folder called "Dent du Midi Drum Table" and 
				   "Dent du Midi Patch Table" which store this data.

10-Feb-2004	0.6	* Added Translate drum tracks option to allow for re-mapping of drum tracks 
				   created for other instruments.  Included in the release is a new file called 
				   "M1 Drum Map" which serves as an example for those translating drum tracks.
				* Enhancement to update Finder windows after the conversion automatically 
				   rather than only after quitting the application.
				* Fixed a bug in introduced in version 0.4 where tracks with notes at the very
				   beginning (time 0) would have the first not cut off.  This was due to the inserted 
				   "dummy" all notes off event which is now omitted on tracks that have a note on 
				   event at time 0.

06-Feb-2004	0.5	* Fixed a bug in MIDI file parser that caused some MIDI files to generate errors and 
				   not complete the conversion.
				* Fixed a bug where tracks with slashes embedded in their track names were not 
				   being output.  Now all slashes (/) and colons (:) are converted to underscores (_)
				   in the output file names when the Add track name from MIDI file option is selected.
				* Enhanced to output standard MIDI files so that Dent du Midi can be used as a 
				   utility to split MIDI files.  By default, this option is disabled since it is not very useful
				   for GarageBand users. 

02-Feb-2004	0.4	* Enhanced so that tracks would line up properly from the beginning.  It appears that
				   GarageBand ignores the time offset of the first "real" event from the original track.
				   Starting with this version, a "dummy" all notes off event is added to the beginning
				   of every output file's data so that GarageBand recognizes the offset of the first real 
				   event from the original track.
				* Fixed minor issue with end of track event which was not formatted properly.  This did 
				   not appear to cause problems with GarageBand, though.

31-Jan-2004	0.3	* Fixed major bug introduced in 0.2 which caused Type 1 MIDI files to fail.   
				* Performed extensive tests on all files sent to me and many of my own running
				   Dent du Midi under both Mac OS X 10.2.8 (QuickSilver 2002 1.5GB RAM) and 
				   10.3.2 (iMac 20" 1GB RAM).

29-Jan-2004	0.2	* Fixed bug where files with single quotes in their names were not processed.
				* Fixed bug where long tracks stopped conversion process.
				* Added support for Type 0 MIDI files.
				* Added MIDI event filtering options.
				* Added output file naming options.
				* Added File->Open menu as an alternative to drag-and-drop interface.

27-Jan-2004	0.1	Initial release.

Download

http://homepage.mac.com/beryrinaldo/ddm/

Copyright / License

Copyright (C) 2004 Bery Rinaldo. All Rights Reserved.

This program is free software. Redistribution and use in binary form, without modification, is permitted provided that the redistribution form reproduces above copyright notice, this condition and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

OK, all the legal stuff is over now. Yes, this program is freeware, but if you feel the need to thank me monetarily, please make a donation to the American Cancer Society or your local church.

Credits

The MIDI file parser code was taken from Tim Thompson's now widely distributed midifile.zip distribution. I have not found any way to contact Tim to thank him. Hopefully he will read this and understand my great appreciation for his work done back in the 1980's.

The picture of Dent du Midi from Gryon, Switzerland used on the main window was taken by Michael Merwin. I iconified it and put it there so that people could more easily find the drop point based on user feedback. Thanks Michael!

System Requirements

• 	Mac OS X 10.2.8 or 10.3.2
• 	GarageBand 1.0 or 1.0.1 (part of the iLife '04)

Usage

Double-click on the application icon. The following window will appear:

The checkboxes on the window allow you to configure exactly what and how the output of Dent du Midi will be stored. These options are explained in the next section.

There are two ways to choose files to be converted -- the File->Open menu or drag-and-drop from the Finder.

For the File->Open method, simply choose Open... from the File menu or press Apple-O. Select one or more MIDI files and click on the Open button.

For the drag-and-drop method, switch back to the Finder and locate the MIDI files you want to convert. Select the files and drag them over the picture of Dent du Midi or over the text to the left of it.

When you drop the files, a progress bar appears and the name of each file appears which it is processed. For each file with valid tracks, a new folder is created with the original filename followed by a -GB. Separate AIFF (.aif) files are stored in this new folder. When the processing is complete, a "Completed" message will appear.

Quit Dent du Midi by choosing Quit from the menu. At this point, the Finder will update and you will see the new -GB folders.

To import the tracks, open GarageBand and create a new song. Delete the default "Grand Piano" track it creates. Switch back to the Finder and open one of the new -GB folders. Select all the track files and drag-and-drop them into the GarageBand window.

All the tracks will appear in GarageBand. You will need to select which software instrument to use for each track. To get track-specific volume information from the imported MIDI tracks, you will need to turn on the "Track Volume" checkbox for each track.

Options

The checkboxes on the main window allow you to configure how the MIDI data is filtered as it is converted and how the output files are formatted. Each option is explained below.

Pass through program change events

This option allows MIDI program change events to be passed through to the output files. This may be useful when choosing the QuickTime DLS AU instruments (in GarageBand, see the Software Instruments -> Details... and select DLSMusicDevice as the Generator).  Warning: This option can generate files that cause GarageBand to hang. By default, this option is off.

Pass through volume change events

This option allows MIDI volume change parameter events to be passed through to the output files. Turning this off filters out all volume change events so they don't show up in GarageBand. By default, this option is on.

Pass through pan change events

This option allows MIDI pan change parameter events to be passed through to the output files. Turning this off filters out all pan change events so they don't show up in GarageBand. By default, this option is on.

Translate drum tracks

This option allows for the translation of notes on certain channels or programs (patches) so that they better match GarageBand's drum kits. Use the Configure button to display the mapping panel.

Fill in the patch number and/or channel number and then fill in the "To" fields and, optionally, the "Comment" fields in the table. Be sure to press return or tab to the next field before saving. Save the settings to a text file for later use.  After selecting the note mappings you want, close the panel get back to the main window.

Add track name from MIDI file

This option adds on the individual track names from the MIDI file, if any, to the names of the files that are output for each track. By default, this option is on.

Add General MIDI program name

This option adds on the name of the General MIDI instrument from the program change events from the MIDI file, if any, to the names of the files that are output for each track. By default, this option is off.

Add other program names

This option adds on program names other than the General MIDI program names.  This feature is useful if the MIDI file was not created for a General MIDI instrument but for some other MIDI instrument that uses different program names.

Fill in the program names in the "Name" fields in the table.  Be sure to press return or tab to the next field before saving.  Save the settings to a text file for later use.  After selecting the names you want, close the panel get back to the main window.

Output MIDI files

This option allows Dent du Midi to output Type 0 Standard MIDI files (.mid) instead of the GarageBand container format (.aif). This option was added for users that had the desire to split MIDI files for use with other MIDI programs. When this option is selected, output files are placed in a -MIDI folder and are given the .mid extension. This option is generally not useful for GarageBand users. By default, this option is off.

Frequently Asked Questions (FAQ)

1.	Can you export MIDI data from GarageBand to a Standard MIDI file?

Not easily that I can see. Dent du Midi is a one-way ticket into GarageBand. The extraction of data created in GarageBand does not appear to be an easy task.

2.	Isn't this the same as using QuickTime Pro to save as an AIFF file, then importing into GarageBand?

No, this is very different. Rather than being converted into audio, the data in the file is converted into a form that contains the original MIDI events (such as Note On, Note Off, Volume and Pan parameters). The files are broken up by tracks which are stored as separate files. Each of these files can be imported into GarageBand and the Software Instruments can be selected in GarageBand. This technique also allows for editing of the MIDI data from within GarageBand.

3.	The output files look like QuickTime AIFF audio files, but when I play them in QuickTime Player they stop immediately. What's going on?

The output files are indeed AIFF files, but they do not contain digital audio waveforms, they contain the MIDI data which only GarageBand knows how to extract. It is completely normal for them not to play a sound from a regular audio file player.

4.	I tried to convert several files, but I'm left with an empty "-GB" folder, or files that GarageBand does not like. What can I do?

First, try removing the preferences file "Dent du Midi.plist" in the Library -> Preferences folder under your home directory.  Start Dent du Midi and make sure the "Pass through program change events" option is off, then try the process again.  If you still are having issues, send me one or two files that are not working. I cannot make any promises to be able to convert every file, but I will take a look and see what I can do.

5.	Can you convert MOD files, too?

MOD files contain both waveform data and sequence (note on/off, parametric) data. It may be possible to directly convert these in Dent du Midi, but I have no plans to support this. I would suggest that you look for a way to convert MOD files to MIDI files, then use Dent du Midi to get the data into GarageBand.

6.	Can you add a new feature?

I am always considering ways to improve this utility. But I will have to decide if it makes sense for me to do. This is a hobby for me, so I get to decide what I do...unlike my paying job where they get to decide for me. Keep in mind that this is freeware!

7.	I like Dent du Midi and I want to send you some money.

Please, send that money to the American Cancer Society or your local church where it will help people in real need. No, I don't have cancer, but it has touched my family's lives and I think it would be great if I could contribute some of my talent to help find a cure. Since I'm no micro-biologist, this is my way of contributing to that effort. If you send them money, thank you!

8.	When pulling in bass tracks from MIDI files, they seem an octave lower than expected. Is this normal?

Most MIDI files I've been playing with seem to have the bass parts set up for patches in the same octaves as the guitar patches. So if you choose a bass patch (software instrument) in GarageBand, then it will sound an octave too low. Try choosing guitar patches for the bass parts, or transposing it up 12 (an octave) and using a bass patch.

9.	I just found Dent du Midi and want to find other GarageBand and MIDI related web sites. Do you know any?

Here's a few sites that I have been visiting to learn more about GarageBand, keep up with what's new and find cool stuff for GarageBand:

• 	MacJams.com - Mac music makers central. We be jammin.
• 	MacJukebox.net - Shake Your Mac Music Maker
• 	TheGarageDoor.com - GarageBand Tips and Tricks
• 	iCompositions.com - Share your creations.
• 	MacIDOL.com - mac music community
• 	MacMusic.org - Audio, MIDI & music on a Mac.
• 	VersionTracker.com - The most accurate and up-to-date source of software updates.
• 	MacOSXHints.com - Providing answers about using OS X.
• 	MidiFarm.com - The MIDI Farm.

10.	Do you know of any other tricks related to GarageBand?

Well, one other trick I came up with was how to use the sound inputs from my Formac Studio DV/TV with GarageBand using Soundflower. Check it out here: http://homepage.mac.com/beryrinaldo/gbsf/

Notes

On the more technical side, I did run into a few MIDI files which would not convert properly, so beware that you may get errors on some files. The MIDI files are stripped of things like Sysex and other meta-commands that seem to cause GarageBand issues. Beware that GarageBand does not handle errors well and some files may cause it to hang indefinitely. Remember the "Apple-Option-Escape" key sequence to force-quit GarageBand if it hangs.

If you have any questions or issues, feel free to e-mail me to beryrinaldo@mac.com. Again, this program is freeware, so remember that if you're asking for help.

This page was last updated on: Tue Mar 30 07:27:30 PST 2004